// 自定义指令
import pinia from "@/stores";
import { useUserInfoStore } from "@/stores/userInfo";
import type { App } from "vue";
// 实例化仓库 因为当前不在组件中，所以无法使用原型链方式挂载，需要使用插件方式挂载
const userInfoStore = useUserInfoStore(pinia);
// 定义自定义插件
export default (app: App) => {
  // 全局指令
  app.directive("has", {
    mounted(el, banding) {
      // 判断指令的值value在不在仓库的authBtnList数组中
      if (userInfoStore.authBtnList.indexOf(banding.value) === -1) {
        // 没有找到匹配的内容，所以元素不应该显示，应该删除
        el.parentNode && el.parentNode.removeChild(el);
      }
    },
  });
};
